/*
 *
 *
 *
 */
#include <iostream>
#include <SDL/SDL.h>
#include <SDL/SDL_image.h>
#include <SDL/SDL_rotozoom.h>
#include "Sprite.h"

#ifndef _ANIMATION_H_
#define _ANIMATION_H_

using namespace std;

class Animation : public Sprite
{
    protected:
        int frameTime;  /*tempo em milisegundos de um sprite na animação*/
        int n;          /*número de sprites no sprite sheet*/
        int time;       /*contador de tempo*/
        int jumpFrame;  /*indica qual o indice do sprite, no sprite sheet, que sera desenhado*/
        SDL_Rect srcRect;   /*retangulo de origem da superficie a ser desenhada*/

    public:
    
        Animation(void);
        Animation(const Animation& anim);
        Animation(string fileName, double x, double y,int frameTime, int n, double zoom);
        Animation& operator=(const Animation &anim);
        ~Animation(void);
        void render(SDL_Surface *screen);
        void update(int tDelta);
        SDL_Rect getSrcRect(void);
        void setAnimationZoom(double zoom);
    
};

#endif
